import { defineConfig, dynamicImport } from 'umi';

import px2rem from 'postcss-plugin-px2rem';

import { getEvnData } from './environments';
import pageRoutes from './router.config';
import alias from './alias';
import theme from './theme';

//* 设置环境
var environment = process.env.PROJECT_ENV || 'localhost';
var define = getEvnData(environment)

console.log('--------------------------------------------');
console.log(`--------------当前环境是${environment}----------------`);
console.log('--------------------------------------------');
console.log(define);

export default defineConfig({
  // 设置编译模式
  nodeModulesTransform: {
    type: 'none',
    exclude: [],
  },

  // 静态化 一个路由文件对应一个html文件 (为了百度爬虫以及谷歌爬虫)
  exportStatic: {},

  //按需加载
  dynamicImport: {
    loading: '@/components/basicComp/PageLoading/index',
  },

  // dva
  dva: {},

  // antd
  antd: { mobile: false },

  //路由配置
  routes: pageRoutes,

  // 国际化配置
  locale: {
    antd: false, // 是否启用antd的<LocaleProvider />  ------由之前的enbale改为 antd
    default: 'zh-CN', //默认语言 zh-CN
    baseNavigator: true, //为true时，用navigator.language的值作为默认语言
    baseSeparator: '-', //语言之间的分隔符
  },

  //多环境配置
  define: define,

  //别名文件的指向
  alias: alias,

  // less变量
  theme: theme,

  //缓存穿透
  hash: true,

  // 配置需要兼容的浏览器最低版本
  targets: {
    ie: 11,
  },

  // 忽略 moment 的 locale 文件，用于减少尺寸。
  ignoreMomentLocale: true,

  // 转换rem
  extraPostCSSPlugins: [
    //https://www.npmjs.com/package/postcss-plugin-px2rem
    px2rem({
      //设计稿 750px  此处设置 代表1rem多大
      rootValue: 37.5, //开启hd后需要换算：rootValue=designWidth*100/750,此处设计稿为1920，所以1920*100/750=256
      propBlackList: [ //这些属性不需要转换
        'border', 'border-top', 'border-left', 'border-right', 'border-bottom', 'border-radius',
        // 'font-size',
      ],
      selectorBlackList: [
        // 'am-', //以包含t_npx的class不需要转换
        'noShift'
      ],
    })
  ],
});
